package com.qijian.tool.domain.query;

import com.qijian.common.utils.mybatis.WhereType;
import com.qijian.common.utils.mybatis.WhereTypeEnum;
import lombok.Data;
import lombok.ToString;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.List;
import java.util.Set;


/**
 * 本地存储对象 查询条件类
 *
 * @author qijian
 * @date 2021-09-06
 */

@Data
@ToString
@TableName("tool_storage")
public class StorageQuery {

    @WhereType(tableName = "tool_storage", filed = "storage_id")
    private Long storageId;
    @WhereType(tableName = "tool_storage", filed = "storage_id", type = WhereTypeEnum.NEQ)
    private Long storageIdNotEq;
    @WhereType(tableName = "tool_storage", filed = "storage_id", type = WhereTypeEnum.IN)
    private Set<Long> storageIds;
    @WhereType(tableName = "tool_storage", filed = "storage_id", type = WhereTypeEnum.NOTIN)
    private List<Long> storageIdsNot;
    @WhereType(tableName = "tool_storage", filed = "classify")
    private Integer classify;
    @WhereType(tableName = "tool_storage", filed = "classify", type = WhereTypeEnum.IN)
    private List<Integer> classifyList;
    @WhereType(tableName = "tool_storage", filed = "class_table")
    private String classTable;
    @WhereType(tableName = "tool_storage", filed = "class_id")
    private Long classId;
    @WhereType(tableName = "tool_storage", filed = "class_id", type = WhereTypeEnum.IN)
    private String[] classIdArray;
    @WhereType(tableName = "tool_storage", filed = "class_id", type = WhereTypeEnum.IN)
    private List<Long> classIds;
    @WhereType(tableName = "tool_storage", filed = "real_name")
    private String realName;
    @WhereType(tableName = "tool_storage", filed = "name", type = WhereTypeEnum.LIKE)
    private String name;
    @WhereType(tableName = "tool_storage", filed = "suffix", type = WhereTypeEnum.LIKE)
    private String suffix;
    @WhereType(tableName = "tool_storage", filed = "url")
    private String url;
    @WhereType(tableName = "tool_storage", filed = "type")
    private String type;
    @WhereType(tableName = "tool_storage", filed = "storage_type")
    private String storageType;
    @WhereType(tableName = "tool_storage", filed = "description")
    private String description;
}
